Bezeichnung


PG:DatabaseQuery -- Führt eine SQL-Abfrage aus.


Übersicht


Fail, ErrorCode, fields, Result(Table) = PG:DatabaseQuery(SQL$, ConnectionID)


Beschreibung


Es werden nur Abfragen unterstützt die keine Inhalte der Datenbank verändern. Möchten Sie beispielsweise Einträge einer Tabelle verändern, benutzen Sie bitte PG:DatabaseUpdate.


Fields und Result kurz erklärt:

Angenommen fields enthält den Wert 3. Das würde bedeuten das Ihre Abfrage Ergebnisse in drei Spalten brachte.

Result[0], Result[1] und Result[2] sind  somit ein Datensatz, also eine Zeile der Tabelle.

Enthält Result noch weitere Einträge würde der zweite Datensatz bei Result[3] beginnen und bei [5] enden. usw. usw....


Eingaben


SQL$

Dieser String muss die SQL-Abfrage enthalten.


ConnectionID

               ID der Netzwerkverbindung


Rückgabewerte


Fail

True wenn ein Fehler aufgetreten ist.

False wenn alles funktioniert hat.


ErrorCode

Einen dreistelligen internen Fehlercode oder einen fünfstelligen PostgreSQL Fehlercode.

Ansonsten False.


fields

Enthält die Anzahl der Spalten einer Tabelle


Result

Result ist eine Tabelle die alle Ergebnisse der Abfrage enthält. Beginnend beim Index 0


Beispiel




/****************************************************************

**                                                             **

** Name:        5_DBQuery                                      **

** Author:      Michael Suther                                 **

** Date:        07.04.19                                       **

** Interpreter: Hollywood 8.0                                  **

** Function:    Führt eine Suche in der Tabelle "Kunde" durch. **

**              Listet alle Kunden mit Name "Mustermann".      **

**                                                             **

****************************************************************/


@INCLUDE "PostgreSQL_Lib.hws"


Block        

       ;Netzwerkverbindung zum PostgreSQL-Server herstellen.

       Local ConnectionID = OpenConnection(Nil,"localhost",5432)

       

       ;Einige Variablen definieren

       Local Fail

       Local Errorcode

       Local fields

       Local Database$ = "postgres"

       Local Username$ = "test"

       Local Passwort$ = "test"

       Local Result = {}

       Local items, i, a

       

       ;Anmeldung

       Fail, ErrorCode = PG:OpenDatabase(Database$, Username$, Passwort$, ConnectionID)

       

       ; Auswerten der Rückgabewerte

       If Fail = False 

               NPrint("Verbindung wurde erfolgreich hergestellt.")

       Else

               NPrint("Die Verbindung ist fehlgeschlagen,")

               NPrint("Fehlercode:  ", ErrorCode)

       EndIf

       

               

       ;Alle Kunden mit Nachname Mustermann anzeigen

       SQL$ = "SELECT * FROM Kunde WHERE name LIKE 'Mustermann'"

       Fail, Errorcode, fields, Result = PG:DatabaseQuery(SQL$, ConnectionID)

       ; Auswerten der Rückgabewerte

       If Fail = False

               items = TableItems(Result)

               For i = 0 To items-1 Step fields

                       For a = 1 To fields

                               Print(Result[i + a-1], " ")

                       Next

                       NPrint("")

               Next                

       Else

               NPrint("Query fehlgeschlagen.")

               NPrint("Fehlercode:  ", ErrorCode)

       EndIf

       

       WaitLeftMouse

       

       ;Verbindung zur Datenbank schließen.

       PG:CloseDatabase(ConnectionID)

               

EndBlock        



Mit dem Personal Edition von HelpNDoc erstellt: Einfacher CHM- und Dokumentationseditor